#!/bin/bash

# 数据库迁移执行脚本
# 将时间字段从驼峰命名改为下划线命名

echo "🚀 开始执行数据库迁移..."
echo "⚠️  警告：此操作将修改数据库表结构，请确保已备份数据库！"
echo ""

# 检查是否提供了数据库连接参数
if [ $# -ne 4 ]; then
    echo "用法: $0 <host> <username> <password> <database>"
    echo "示例: $0 43.143.253.188 nextjs jack666 nextjs"
    exit 1
fi

HOST=$1
USERNAME=$2
PASSWORD=$3
DATABASE=$4

echo "📋 数据库连接信息："
echo "   主机: $HOST"
echo "   用户: $USERNAME"
echo "   数据库: $DATABASE"
echo ""

# 确认执行
read -p "确认执行迁移？(y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    echo "❌ 迁移已取消"
    exit 1
fi

echo "🔄 正在执行迁移..."

# 执行迁移脚本
mysql -h $HOST -u $USERNAME -p$PASSWORD $DATABASE < database-migration-update-timestamp-columns.sql

if [ $? -eq 0 ]; then
    echo "✅ 数据库迁移执行成功！"
    echo ""
    echo "📝 接下来需要执行以下步骤："
    echo "1. 更新所有Entity文件中的@Column映射"
    echo "2. 将所有 name: 'createdAt' 改为 name: 'created_at'"
    echo "3. 将所有 name: 'updatedAt' 改为 name: 'updated_at'"
    echo "4. 重启应用程序"
else
    echo "❌ 数据库迁移执行失败！"
    exit 1
fi
